{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import scipy as sp\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\Anaconda\\lib\\site-packages\\ipykernel\\__main__.py:2: RuntimeWarning: invalid value encountered in sqrt\n",
      "  from ipykernel import kernelapp as app\n",
      "D:\\Anaconda\\lib\\site-packages\\ipykernel\\__main__.py:3: RuntimeWarning: invalid value encountered in arccos\n",
      "  app.launch_new_instance()\n"
     ]
    }
   ],
   "source": [
    "x = np.linspace(-np.pi, np.pi, 1000)\n",
    "f = np.sqrt(1-(np.abs(x)-1)**2)\n",
    "g = np.arccos(1-np.abs(x))-3"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n7n/ePJtJVyToyJKGJ4BE97e/2apj//qXDXmvXx8GDPDSgEtcmZnwxht21//TT/DuuzYwsprPIRlp\nngCSQZEiNljsxx/huOOsneCyy7w04BLPihXWrnXzzXD66dbedf31ftcfJZ4AkknduvD99zaz6KhR\ntgDNJ594acDFP1Vr02rQwNbJePttm8qhRo28/60rNE8AyaZYMbjnHis616oFV19tE82tXRt0ZM7l\nbOVKm7Cte3c49VS767/hBr/rjwFPAMmqTh0rDTz3nN1J1asHH3/spQEXP1TtTr9BA5gyxaZw/uor\nqFkz6MhShieAZFa0KNx1l00sV7s2dO5sPYW8NOCCtmoVXHih9WRr2tT69d90k9/1x5gngFRQu7at\nhvT883aHVbcufPSRlwZc7Kna6N369e2cfP11m/L8mGOCjiwleQJIFUWLwp13Wmmgbl2bQ+Xii+HX\nX4OOzKWKVaugTRvr1dOokd319+xpvdhcIPzIp5oTT7SZE194AcaNs7aBfv28NOCiR9X68tevb+fe\na6/B11/bGBYXKE8AqahoUZtTZdYsSwDXXmszjq7Jdalm5wrnl1+gdWvr1dO4sd3133yz3/XHiXCX\nhLxcROaJSKaI5LoCjYisEJE5IjJTRFJ0ia84dMIJMHGizbA4YYIlA59TyEWCKrzzjt31f/+91fWP\nH+93/XEm3DQ8F7gUmJSPbc9R1Yb5XarMxUjRonDbbVYaaNDA5hRq2xZWrw46MpeofvkFLrgAbrwR\n0tK8rj+OhfU/oqoLVHVRpIJxAapVy0oDL78M33xjd27eNuAKQhX69rVz54cfbD6fcePg2GODjszl\nIlYpWYFxIjJDRLodbEMR6SYi6SKSnpGREaPwHGB3aL162QyjDRpY20C7dt5TyOUtazTvTTdZv/65\nc6FHD7/rj3N5/u+IyDgRmZvDo30B9nOGqjYELgRuFpGzcttQVfuqapqqplWsWLEAu3ARc/zxVgp4\n8UWrt61Xz8cNuJyp2gje+vX3j+YdN8779SeIPBOAqrZU1fo5PIbldyequib0vAEYAjQrfMguJooW\nhdtvt7aBrHEDvt6Ay27FCmjZ0u70s+bw8dG8CSXq5TMROVREymS9BlphjccuEZxwgvXdfv55W2+g\nXj349FMvDaSyzEx48027658+3er9v/oKjj466MhcAYXbDfQSEVkNnAZ8ISJjQj+vKiKjQptVBr4T\nkVnANOALVf0ynP26GMs+irhWLbjqKltvYP36oCNzsbZ8ud319+wJzZvbXf+NN/pdf4ISjeM7ubS0\nNE1P92GIvm/BAAAQmklEQVQDcWXfPlt97MEHoUwZ6+lxxRVBR+WiLWu+/rvusobdF16Arl39wh+H\nRGRGfrvbexO9K5iiRfevN/C3v8GVV1oC8B5byWvNGpu5s0eP/Xf9Pl9/UvAE4Aqnbl3r6/3kkzB0\nqLUNDBoUdFQuklRtDYmsmTvfeMPagXy+/qThCcAVXrFi0KePrUVcsyb8/e/QsSNs3Bh0ZC5cGRn2\n/9m5syX7WbOsBOB3/UnFE4ALX/36MHkyPPYYDB5s77/4IuioXGENG2b/hyNH2vrSkybZ2BCXdDwB\nuMgoXhweeADS06FSJZtdtEcP2LYt6Mhcfm3ebKO/O3SAqlXt//Kee6zdxyUlTwAusk46CaZNs94i\n//63LfwxbVrQUbm8jB9v0398/LEl8qlT7b1Lap4AXOQdcogtRv/117Bzp/UceeQR2Ls36MjcgXbu\ntLUhWraE0qWtYf+xx6BEiaAjczHgCcBFz9ln28RyHTvCP/8JZ5wBixcHHZXLMncuNGtm60Hceqt1\n7W3ms7SkEk8ALrrKlbNqhQEDYNEiaNjQpg6I4wGISU8VXn3V5upfvx5GjYJXXoFSpYKOzMWYJwAX\nG1deaQuDnHaaTRh28cU+lUQQ1q2zhdl79bJqnzlzbJCXS0meAFzsVK9uk4a99BKMHQsnn2xTB7vY\nGDnSGum/+caWaBwxwnpsuZTlCcDFVpEitgTl9OlQvrwtInLffbBnT9CRJa8dO2wh9nbtrHvnjBk2\nmZsP6kp5ngBcMBo0sH7mN9wATz0FLVrY/PIushYssIbdN96wGV2nTrWRvc7hCcAFqXRpaxAeMADm\nzbMGYp9PKHI+/NAaetetgy+/tDUdSpYMOioXRzwBuOBdeaV1QTzhBJt/pkcPq7ZwhbNtG1x3HXTp\nYglg5ky44IKgo3JxyBOAiw9/+xt89x3cfbetK9usmXUbdQUzb54du379bM2G8eOhWrWgo3JxKtwV\nwZ4TkYUiMltEhohIuVy2ay0ii0RkiYj0DmefLomVKAHPPgujR1u1RdOmXiVUEO+/b8ds0ybrbfXo\nozZjq3O5CLcEMBaor6onAT8DfQ7cQESKAq8DFwJ1gU4i4q1QLnetW9sU03XqWJXQ3Xf7NBIHs3On\nLct4/fU2zmLmTOvj71wewkoAqvqVqmZ9M6cA1XPYrBmwRFWXqepuYADQPpz9uhRQo4ZNQ9yzpzVe\nnneelQrcX61aBWedBe+8A/ffb3f+Rx0VdFQuQUSyDeB6YHQOP68GrMr2fnXoZzkSkW4iki4i6Rm+\nzGBqK1nSBix99JGNG2jc2NoJnJkwAZo0gYULYcgQePxxn7rZFUieCUBExonI3Bwe7bNtcz+wF+gf\nbkCq2ldV01Q1rWLFiuF+nEsG//iH9V8/9FCbYO6111J7LiFV+Ne/rJqnQgVLjh06BB2VS0B5thCp\n6kErE0XkWuAi4DzVHL+Va4Aa2d5XD/3MufzLGjjWubPNXDlnjk1olmrTFm/fbnX9AwfCZZdZw2+Z\nMkFH5RJUuL2AWgP3ABer6vZcNpsO1BKRY0WkBNARGB7Ofl2KKlvWqjp697YBZK1apdb6w2vXWgno\ns89s9PTnn/vF34Ul3DaA14AywFgRmSkibwGISFURGQUQaiS+BRgDLAA+U9V5Ye7XpaqiRe3i9/HH\nMGWK9XmfOzfoqKIva67++fNh6FBLgj6XjwuT5FxrEx/S0tI0PT096DBcvJo2zeq+t26FTz+1dYiT\n0dChcPXVNnneiBE2ZYZzuRCRGaqalp9tfSSwS1zNmlkD6IknQvv2tgZxMlG1gXGXXgr161vC84u/\niyBPAC6xVasGEyfa4LHu3W1B8zgu1ebbvn02hfO998Lll9sc/lWqBB2VSzKeAFziO/RQGDbMppZ+\n4gm49lrYvTvoqApv506bIO/NN+Gee6x6y5drdFHgE4W45FCsmPUMqlEDHn7Yesz85z9w+OFBR1Yw\nf/xh7RoTJ8KLL8LttwcdkUtiXgJwyUMEHnoI3nsPvv7aBkr99lvQUeXfr7/atA4//GB3/X7xd1Hm\nCcAln+uus/ECs2ZZv/lEWHz+l1/s4r98OYwaBR07Bh2RSwGeAFxyatcOvvgCli615SZXrw46otwt\nX24xbtwIY8f6TJ4uZjwBuOTVsiWMGWNVK2eeGZ9rDi9ebHf+W7bY4i2nnhp0RC6FeAJwye2MM6w9\nYPNmOPfc+CoJ/Pyz3fnv3GkxNmkSdEQuxXgCcMkvLc1KAps2WRJYuzboiGDlSiuh7NtnffxPPjno\niFwK8gTgUkPTprbU5K+/2oU3yLUm1q2zGLZutQVc6tULLhaX0jwBuNTRvDmMHAnLltnI4T//jH0M\nv/0G559vpZDRo/3O3wXKE4BLLWefbQPEZs6EK66I7VrDO3bYhHWLF8Pw4d7g6wLnCcClnrZtbZqF\n0aOhR4/YzB2UmQnXXGNTWH/yibVFOBcwnwrCpaZu3WxB9ccfh5o14cEHo7u/Pn2s5PH88za7p3Nx\nwBOAS12PPmojcB96yBpio3Vhfvddm9a5e3f4v/+Lzj6cK4Rwl4R8TkQWishsERkiIuVy2W6FiMwJ\nrRrmK7y4+CBiE8idcgp06QILFkR+H9OnQ8+e1vD76qu+ipeLK+G2AYwF6qvqScDPQJ+DbHuOqjbM\n70o1zsVEyZJWNVO6NFxyiY3IjZSNG23h9ipVbHK3Yl7gdvElrASgql+F1vwFmAJUDz8k52KsenVb\naH3JEptILhKNwpmZtozjhg2WYI48MvzPdC7CItkL6HpgdC6/U2CciMwQkW4R3KdzkdGiBTzzDAwe\nbHX24Xr5ZRvk9fLLNhLZuTiU56LwIjIOOCqHX92vqsNC29wPpAGXag4fKCLVVHWNiFTCqo1uVdVJ\nueyvG9ANoGbNmk1WrlxZkL/HucLLzLS6+qlTbSrp444r3OfMnWsX/QsusAXdvd7fxVBBFoXPMwHk\nY2fXAjcB56nq9nxs/0/gT1V9Pq9t09LSND3d24xdDK1aBSedBHXqwKRJBa+337XLGpXXroU5c6BS\npejE6VwuCpIAwu0F1Bq4B7g4t4u/iBwqImWyXgOtgLnh7Ne5qKlRA954AyZPhldeKfi/f+YZKz28\n845f/F3cC7cN4DWgDDA21MXzLQARqSoio0LbVAa+E5FZwDTgC1X9Msz9Ohc9HTtCmza2tvCaNfn/\nd0uXwpNP2r9v1y568TkXIWFXAUWTVwG5wCxdaoPDOnSAAQPy3l7V5vn59ltYuBCqVo1+jM7lIGZV\nQM4lreOOg/vug4EDYeLEvLcfNcoejzziF3+XMLwE4FxuduyA44+Ho4+G77/PvTdPZiY0agTbt8P8\n+VC8eGzjdC4bLwE4FwmlStk8QZMn2zoCuRkwAGbPtrmF/OLvEoiXAJw7mD17rEto+fI2PuDAUoAq\n1K8PRYvaGgNF/J7KBctLAM5FSvHicMcdNqnb5Mn/+/uvvrJqn7vu8ou/Szh+xjqXly5doFw5eOml\n//3diy/CUUdZ10/nEownAOfycthhtoDMoEF/HReweDGMGQM33wwlSgQXn3OF5AnAufzo2tV6+2Qf\nE/Dxx9YmcN11wcXlXBg8ATiXHyecYBO89e9v71Xt9TnnQLVqwcbmXCF5AnAuvzp2hJ9+gpUrbcbP\npUu97t8lNE8AzuXXBRfY8/jx9gBo1Sq4eJwLk69R51x+1asHlSvD11/b0pHHHWejhJ1LUJ4AnMsv\nETj3XOv7v3MndOoUdETOhcWrgJwriObNISMDtm61184lME8AzhVE3br7X9erF1wczkWAJwDnCiJ7\nAqhdO7g4nIuAsNoAROQxoD2QCWwArlXVX3PYrjXwMlAUeEdVnw5nv84FpnJl6N3bZgo97LCgo3Eu\nLGHNBioih6vqltDrXkBdVe1+wDZFgZ+B84HVwHSgk6rOz+vzfTZQ55wrmJjNBpp18Q85FMgpmzQD\nlqjqMlXdDQzASg3OOecCFHY3UBF5ArgG2Ayck8Mm1YBV2d6vBk4Jd7/OOefCk2cJQETGicjcHB7t\nAVT1flWtAfQHbgk3IBHpJiLpIpKekZER7sc555zLRZ4lAFVtmc/P6g+MAh4+4OdrgBrZ3lcP/Sy3\n/fUF+oK1AeRz38455woorDYAEamV7W17YGEOm00HaonIsSJSAugIDA9nv84558IXbhvA0yJyItYN\ndCXQHUBEqmLdPduo6l4RuQUYg3UDfU9V54W5X+ecc2EKKwGo6mW5/PxXoE2296Ow6iHnnHNxwkcC\nO+dcigprIFi0iUgGVrVUGBWAjREMJ1I8roLxuArG4yqYZIzraFWtmJ8N4zoBhENE0vM7Gi6WPK6C\n8bgKxuMqmFSPy6uAnHMuRXkCcM65FJXMCaBv0AHkwuMqGI+rYDyugknpuJK2DcA559zBJXMJwDnn\n3EEkRQIQkedEZKGIzBaRISJSLpftWovIIhFZIiK9YxTb5SIyT0QyRSTXVn0RWSEic0RkpohEfRGE\nAsQV02MmIuVFZKyILA49H5HLdjE5Xnn9/WJeCf1+tog0jlYsBYzrbBHZHDo+M0XkoRjE9J6IbBCR\nubn8PqhjlVdcMT9Wof3WEJEJIjI/9F28LYdtonvMVDXhH0AroFjo9TPAMzlsUxRYCvwNKAHMwhaw\niXZsdYATgW+AtINstwKoEMNjlmdcQRwz4Fmgd+h175z+L2N1vPLz92Mj3kcDApwKTI3B/11+4job\nGBmr8ym0z7OAxsDcXH4f82OVz7hifqxC+60CNA69LoMtnBXT8yspSgCq+pWq7g29nYLNOHqgQBam\nUdUFqroo2vspqHzGFcQxaw/0C73uB3SI8v4OJj9/f3vgQzVTgHIiUiUO4oo5VZ0E/HaQTYI4VvmJ\nKxCqulZVfwy93goswNZPyS6qxywpEsABrscy5oFyWpjmwIMdJAXGicgMEekWdDAhQRyzyqq6NvR6\nHVA5l+1icbzy8/cHcYzyu8/moWqD0SJSL8ox5Uc8fwcDPVYicgzQCJh6wK+ieszCXhEsVkRkHHBU\nDr+6X1WHhba5H9iLrU0QV7HlwxmqukZEKgFjRWRh6M4l6Lgi7mBxZX+jqioiuXVTi/jxSjI/AjVV\n9U8RaQMMBWrl8W9SVaDHSkQOAwYBt+tfl9mNuoRJAJrHwjQici1wEXCehirPDlCghWkiGVs+P2NN\n6HmDiAzBivlhXdAiEFdUjtnB4hKR9SJSRVXXhoq6G3L5jIgfrxzk5++P2nkVTlzZLySqOkpE3hCR\nCqoa5Lw3QRyrPAV5rESkOHbx76+qg3PYJKrHLCmqgESkNXAPcLGqbs9ls7hdmEZEDhWRMlmvsUbt\nHHssxFgQx2w40CX0ugvwPyWVGB6v/Pz9w4FrQr01TgU2Z6vCipY84xKRo0REQq+bYd/1TVGOKy9B\nHKs8BXWsQvt8F1igqi/ksll0j1msW76j8QCWYPVkM0OPt0I/rwqMyrZdG6ylfSlWDRKL2C7B6u12\nAeuBMQfGhvXmmBV6zItFbPmJK4hjBhwJjAcWA+OA8kEer5z+fmzho+6h1wK8Hvr9HA7S0yvGcd0S\nOjazsI4RzWMQ06fAWmBP6NzqGifHKq+4Yn6sQvs9A2vLmp3t2tUmlsfMRwI751yKSooqIOeccwXn\nCcA551KUJwDnnEtRngCccy5FeQJwzrkU5QnAOedSlCcA55xLUZ4AnHMuRf0/gEiPPFgxnioAAAAA\nSUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xb0076f4b38>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(x,f, 'r')\n",
    "plt.plot(x, g, 'r')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
